<?php

class RendicionesCaja_model extends CI_Model {
    
    public function __construct() {
        parent::__construct();
    }
    
    public function list_all($user){
        $query='SELECT * FROM RendicionesCaja
                            LEFT JOIN Cajas
                            ON RendicionesCaja.Caj_Id=Cajas.Caj_Id
                            WHERE Cajas.Usr_Login= ? 
                            ORDER BY Cajas.Caj_FechaHoraApertura';
        $result=$this->db->query($query,array($user));
        return $result->result();
        
    }
    
    function search_cliente($cliente) {
        $qSqlA="SELECT * FROM Clientes WHERE Cli_ApeNom LIKE'$cliente'+'%' ORDER BY Cli_ApeNom";
        $eSqlA = $this->db->query($qSqlA);
        return $eSqlA->result();
    }
    
    function get_by_id($id){
        $qSqlA="SELECT * FROM RendicionesCaja WHERE RendCaj_Id='$id'";
        $eSqlA = $this->db->query($qSqlA);
        return $eSqlA->result();
    }
    
   function insert($caj_id,$mov_id,$comp_nro,$comp_tipo,$concepto,$tipo_mov,$montoIngreso,$montoEgreso){
        
        $sql="INSERT INTO RendicionesCaja(RendCaj_Id,Caj_Id,Mov_Id,
					  Comp_nro,comp_tipo,
					  concepto,TipMov_Id,
					  ingreso,egreso)
                                    VALUES('$caj_id','$caj_id','$mov_id','$comp_nro','$comp_tipo','$concepto','$tipo_mov','$montoIngreso','$montoEgreso')";
        $esql = $this->db->query($sql);
    }
    
     function update_egreso($caj_id,$monto){
         $sql='UPDATE Cajas
                    SET Caj_TotalEgreso = Caj_TotalEgreso + ?
                    WHERE Caj_Id = ?';
         $esql = $this->db->query($sql,array($monto,$caj_id));
         return $esql;
     }
     
     function update_ingreso($caj_id,$monto){
         $sql="UPDATE Cajas
                    SET Caj_TotalIngreso = Caj_TotalIngreso +'$monto'
                    WHERE Caj_Id = $caj_id";
         $esql = $this->db->query($sql,array($caj_id));
         return $esql;
     }
    
    function ver($caja_id){
        //Tipo y NºComprobante,Razón Social,Concepto,Descripcion,Ingresos,Egresos,Acciones
        $sql="SELECT * FROM MovimientosCaja INNER JOIN Comprobantes
                                        ON MovimientosCaja.Mov_Id=Comprobantes.MovimientoCaja_Mov_Id
                
                WHERE MovimientosCaja.Caj_Id= ? 
                ORDER BY MovimientosCaja.Mov_IngresoEgreso DESC";
         $esql = $this->db->query($sql,array($caja_id));
         return $esql->result();
    }
     
    function get_rendicion($caja_id){
        $sql="SELECT * FROM RendicionesCaja INNER JOIN Cajas
                ON RendicionesCaja.Caj_Id=Cajas.Caj_Id
                WHERE RendicionesCaja.Caj_Id= ? ";
         $esql = $this->db->query($sql,array($caja_id));
         return $esql->result();
    }
    function rendicion($caja_id){
        $sql="SELECT * FROM Cajas WHERE Caj_Id= ? ";
         $esql = $this->db->query($sql,array($caja_id));
         return $esql->result();
    }
    
    function last($user){
        $sql="SELECT * FROM Cajas WHERE Usr_Login= ? AND 
                    Caj_FechaHoraApertura=(SELECT MAX(Caj_FechaHoraApertura)
                    FROM Cajas WHERE Usr_Login=?)";
         $esql = $this->db->query($sql,array($user,$user));
         return $esql->result();
    }

    function buscar_por_fecha($user,$desde,$hasta){
        
        $desde=date('Y-m-d',strtotime($desde));
        $arr=explode("-",$hasta);
        $dia=$arr[0]+1;
        $mes=$arr[1];
        $anio=$arr[2];
        $hasta="$anio-$mes-$dia";
        $hasta=date('Y-m-d',strtotime($hasta));
        $query="SELECT * FROM Cajas
                    
                    WHERE Cajas.Usr_Login= ? AND(Caj_FechaHoraApertura> ? AND Caj_FechaHoraApertura< ?)
                    ORDER BY Cajas.Caj_FechaHoraApertura DESC";
        $result=$this->db->query($query,array($user,$desde,$hasta));
        return $result->result();
    }
    
    function estampillas($caja_id){
        $query="SELECT * FROM MovimientosCaja
                WHERE Caj_Id=? AND Mov_Descripcion='Estampillas'";
        $result=$this->db->query($query,array($caja_id));
        return $result->result();
    }
    
    function caja($caja_id){
        $query="SELECT * FROM Cajas
                WHERE Caj_Id=?";
        $result=$this->db->query($query,array($caja_id));
        return $result->result();
    }
    
    function reintregros($caja_id){
        $query="SELECT * FROM MovimientosCaja
                WHERE Caj_Id= ? AND Mov_Descripcion='Reintegro de anticipos'";
        $result=$this->db->query($query,array($caja_id));
        return $result->result();
    }
    function otras_rendiciones($caja_id){
        $query="SELECT * FROM MovimientosCaja
                WHERE  Caj_Id=9 AND Mov_Descripcion='Rendicion de Caja'";
        $result=$this->db->query($query,array($caja_id));
        return $result->result();
    }
}

?>